Practical Integer Overflow Prevention

نویسندگان

  • Paul Muntean
  • Jens Grossklags
  • Claudia Eckert
چکیده

Integer overflows in commodity software are a main source for software bugs, which can result in exploitable memory corruption vulnerabilities and may eventually contribute to powerful software based exploits, i.e., code reuse attacks (CRAs). In this paper, we present INTGUARD, a symbolic execution based tool that can repair integer overflows with high-quality source code repairs. Specifically, given the source code of a program, INTGUARD first discovers the location of an integer overflow error by using static source code analysis and satisfiability modulo theories (SMT) solving. INTGUARD then generates integer multiprecision code repairs based on modular manipulation of SMT constraints as well as an extensible set of customizable code repair patterns. We evaluated INTGUARD with 2052 C programs (≈1 Mil. LOC) available in the currently largest open-source test suite for C/C++ programs and with a benchmark containing large and complex programs. The evaluation results show that INTGUARD can precisely (i.e., no false positives are accidentally repaired), with low computational and runtime overhead repair programs with very small binary and source code blow-up. In a controlled experiment, we show that INTGUARD is more time-effective and achieves a higher repair success rate than manually generated code repairs.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

RICB: Integer Overflow Vulnerability Dynamic Analysis via Buffer Overflow

Integer overflow vulnerability will cause buffer overflow. The research on the relationship between them will help us to detect integer overflow vulnerability. We present a dynamic analysis methods RICB (Runtime Integer Checking via Buffer overflow). Our approach includes decompile execute file to assembly language; debug the execute file step into and step out; locate the overflow points and c...

متن کامل

An Improved Unwrap for Data Corrupted by Overflow

Overflow occurs when a value is represented in binary using an insufficient number of bits. Values that lie outside the bit range are misinterpreted as values within the bit range. Continuous signals that suffer from integer overflow can be correcting using unwrap functions, but this correction fails when significant noise is present. A new method of correcting signals is proposed which uses mo...

متن کامل

A Data-Driven Finite State Machine Model for Analyzing Security Vulnerabilities

This paper combines an analysis of data on security vulnerabilities (published in Bugtraq database) and a focused source-code examination to develop a finite state machine (FSM) model to depict and reason about security vulnerabilities. An in-depth analysis of the vulnerability reports and the corresponding source code of the applications leads to three observations: (i) exploits must pass thro...

متن کامل

Computations with Large Numbers

Since any personal computer has a limited range of integer values, therefore, it will result in an integer overflow when a program tries to compute a value larger than machine’s maximum value. We will discuss a workable algorithm that will be able to deal with any large numbers without getting an integer overflow.

متن کامل

Transparent Runtime Randomization for Security

A large class of security attacks exploit software implementation vulnerabilities such as unchecked buffers. This paper proposes Transparent Runtime Randomization (TRR), a generalized approach for protecting against a wide range of security attacks. TRR dynamically and randomly relocates a program’s stack, heap, shared libraries, and parts of its runtime control data structures inside the appli...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1710.03720  شماره 

صفحات  -

تاریخ انتشار 2017